[% setvar title Wildcards for multiple module imports %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='TITLE'></a><h1>TITLE</h1>
<p>Wildcards for multiple module imports</p>
<a name='VERSION'></a><h1>VERSION</h1>
<pre>  Maintainer: Peter Bevan &lt;<a href='mailto:peter@scalarmonkey.com'>peter@scalarmonkey.com</a>&gt;
  Date: 8 Aug 2000
  Mailing List: <a href='mailto:perl6-language@perl.org'>perl6-language@perl.org</a>
  Number: 62
  Version: 1
  Status: Developing</pre>
<a name='ABSTRACT'></a><h1>ABSTRACT</h1>
<p>It occurs that being able to include modules via wildcards
for entire packages would be a desirable feature. Just as in
Java, related packages could then be loaded implicitley without
the need for specifying each one in turn. The LWP and Net
packages, are a good example.</p>
<a name='DESCRIPTION'></a><h2>DESCRIPTION</h2>
<p>A directory in the perl library is intended to encapsulate modules
which have relevance to each other (again the Net package is a good
example). Given that this is the case (and given extensive expirience)
it is apparent that there are many situations in which onw would wish
to load the entire group.</p>
<p>As things stand this is not a possibility (without reading the dir
stuctures and loading each file dynamicly - which isn't a great idea).</p>
<p>As a side point this may push module developers into even better
co-operative working enviroments (i.e. they will need to work much
more closely together in order to tie up their respective modules)</p>
<a name='IMPLEMENTATION'></a><h2>IMPLEMENTATION</h2>
<p>The option to load modules thus:</p>
<p>use Foo::*  [The '*' character isn't very pleasant, any sugestions??]
or
use Foo::Bar::* [An alternate Foo::, has been sugested]
etc</p>
<p>Also, having thought about it, it occurs that the ability to opt-out
of such a scheme is desirable. This could be acheived by eigther setting
some kind of global identifier within the module to signal it's
&quot;community-mindedness&quot; or possibly a new naming convention (.pm for modules
which have opted-out and .pmc for instance, for those which have not). It
may
even be possible to set a flag of somekind in the module packlist. I guess
thats up to the internals developers to decide...</p>
<a name='REFERENCES'></a><h2>REFERENCES</h2>
<p>Any java class package...
perldoc perlmod</p>
</div>
